(0) Obligation:

Clauses:

add(b, b, b).
add(X, b, X) :- binaryZ(X).
add(b, Y, Y) :- binaryZ(Y).
add(X, Y, Z) :- addz(X, Y, Z).
addx(one(X), b, one(X)) :- binary(X).
addx(zero(X), b, zero(X)) :- binaryZ(X).
addx(X, Y, Z) :- addz(X, Y, Z).
addy(b, one(Y), one(Y)) :- binary(Y).
addy(b, zero(Y), zero(Y)) :- binaryZ(Y).
addy(X, Y, Z) :- addz(X, Y, Z).
addz(zero(X), zero(Y), zero(Z)) :- addz(X, Y, Z).
addz(zero(X), one(Y), one(Z)) :- addx(X, Y, Z).
addz(one(X), zero(Y), one(Z)) :- addy(X, Y, Z).
addz(one(X), one(Y), zero(Z)) :- addc(X, Y, Z).
addc(b, b, one(b)).
addc(X, b, Z) :- succZ(X, Z).
addc(b, Y, Z) :- succZ(Y, Z).
addc(X, Y, Z) :- addC(X, Y, Z).
addX(zero(X), b, one(X)) :- binaryZ(X).
addX(one(X), b, zero(Z)) :- succ(X, Z).
addX(X, Y, Z) :- addC(X, Y, Z).
addY(b, zero(Y), one(Y)) :- binaryZ(Y).
addY(b, one(Y), zero(Z)) :- succ(Y, Z).
addY(X, Y, Z) :- addC(X, Y, Z).
addC(zero(X), zero(Y), one(Z)) :- addz(X, Y, Z).
addC(zero(X), one(Y), zero(Z)) :- addX(X, Y, Z).
addC(one(X), zero(Y), zero(Z)) :- addY(X, Y, Z).
addC(one(X), one(Y), one(Z)) :- addc(X, Y, Z).
binary(b).
binary(zero(X)) :- binaryZ(X).
binary(one(X)) :- binary(X).
binaryZ(zero(X)) :- binaryZ(X).
binaryZ(one(X)) :- binary(X).
succ(b, one(b)).
succ(zero(X), one(X)) :- binaryZ(X).
succ(one(X), zero(Z)) :- succ(X, Z).
succZ(zero(X), one(X)) :- binaryZ(X).
succZ(one(X), zero(Z)) :- succ(X, Z).
times(one(b), X, X).
times(zero(R), S, zero(RS)) :- times(R, S, RS).
times(one(R), S, RSS) :- ','(times(R, S, RS), add(S, zero(RS), RSS)).

Query: times(g,g,a)

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph DT10.

(2) Obligation:

Triples:

timesC(zero(X1), X2, zero(X3)) :- timesC(X1, X2, X3).
timesC(one(X1), X2, X3) :- timesC(X1, X2, X4).
timesC(one(X1), X2, X3) :- ','(timescC(X1, X2, X4), addB(X2, X4, X3)).
addB(b, X1, zero(X1)) :- binaryZD(X1).
addB(zero(X1), X2, zero(X3)) :- addzE(X1, X2, X3).
addB(one(X1), X2, one(X3)) :- addyF(X1, X2, X3).
binaryZD(zero(X1)) :- binaryZD(X1).
binaryZD(one(X1)) :- binaryG(X1).
binaryG(zero(X1)) :- binaryZD(X1).
binaryG(one(X1)) :- binaryG(X1).
addzE(zero(X1), zero(X2), zero(X3)) :- addzE(X1, X2, X3).
addzE(zero(one(X1)), one(b), one(one(X1))) :- binaryG(X1).
addzE(zero(zero(X1)), one(b), one(zero(X1))) :- binaryZD(X1).
addzE(zero(X1), one(X2), one(X3)) :- addzE(X1, X2, X3).
addzE(one(X1), zero(X2), one(X3)) :- addyF(X1, X2, X3).
addzE(one(X1), one(X2), zero(X3)) :- addcH(X1, X2, X3).
succI(zero(X1), one(X1)) :- binaryZD(X1).
succI(one(X1), zero(X2)) :- succI(X1, X2).
succZJ(zero(X1), one(X1)) :- binaryZD(X1).
succZJ(one(X1), zero(X2)) :- succI(X1, X2).
addCK(zero(X1), zero(X2), one(X3)) :- addzE(X1, X2, X3).
addCK(zero(zero(X1)), one(b), zero(one(X1))) :- binaryZD(X1).
addCK(zero(one(X1)), one(b), zero(zero(X2))) :- succI(X1, X2).
addCK(zero(X1), one(X2), zero(X3)) :- addCK(X1, X2, X3).
addCK(one(b), zero(zero(X1)), zero(one(X1))) :- binaryZD(X1).
addCK(one(b), zero(one(X1)), zero(zero(X2))) :- succI(X1, X2).
addCK(one(X1), zero(X2), zero(X3)) :- addCK(X1, X2, X3).
addCK(one(X1), one(X2), one(X3)) :- addcH(X1, X2, X3).
addcH(X1, b, X2) :- succZJ(X1, X2).
addcH(b, X1, X2) :- succZJ(X1, X2).
addcH(X1, X2, X3) :- addCK(X1, X2, X3).
addyF(b, one(X1), one(X1)) :- binaryG(X1).
addyF(b, zero(X1), zero(X1)) :- binaryZD(X1).
addyF(X1, X2, X3) :- addzE(X1, X2, X3).
timesA(zero(zero(X1)), X2, zero(zero(X3))) :- timesA(X1, X2, X3).
timesA(zero(one(X1)), X2, zero(X3)) :- timesC(X1, X2, X4).
timesA(zero(one(X1)), X2, zero(X3)) :- ','(timescC(X1, X2, X4), addB(X2, X4, X3)).
timesA(one(one(b)), X1, X2) :- addB(X1, X1, X2).
timesA(one(zero(X1)), X2, X3) :- timesC(X1, X2, X4).
timesA(one(zero(X1)), X2, X3) :- ','(timescC(X1, X2, X4), addB(X2, zero(X4), X3)).
timesA(one(one(X1)), X2, X3) :- timesC(X1, X2, X4).
timesA(one(one(X1)), X2, X3) :- ','(timescC(X1, X2, X4), addB(X2, X4, X5)).
timesA(one(one(X1)), X2, X3) :- ','(timescC(X1, X2, X4), ','(addcB(X2, X4, X5), addB(X2, X5, X3))).

Clauses:

timescA(one(b), X1, X1).
timescA(zero(one(b)), X1, zero(X1)).
timescA(zero(zero(X1)), X2, zero(zero(X3))) :- timescA(X1, X2, X3).
timescA(zero(one(X1)), X2, zero(X3)) :- ','(timescC(X1, X2, X4), addcB(X2, X4, X3)).
timescA(one(one(b)), X1, X2) :- addcB(X1, X1, X2).
timescA(one(zero(X1)), X2, X3) :- ','(timescC(X1, X2, X4), addcB(X2, zero(X4), X3)).
timescA(one(one(X1)), X2, X3) :- ','(timescC(X1, X2, X4), ','(addcB(X2, X4, X5), addcB(X2, X5, X3))).
timescC(one(b), X1, X1).
timescC(zero(X1), X2, zero(X3)) :- timescC(X1, X2, X3).
timescC(one(X1), X2, X3) :- ','(timescC(X1, X2, X4), addcB(X2, X4, X3)).
addcB(b, X1, zero(X1)) :- binaryZcD(X1).
addcB(zero(X1), X2, zero(X3)) :- addzcE(X1, X2, X3).
addcB(one(X1), X2, one(X3)) :- addycF(X1, X2, X3).
binaryZcD(zero(X1)) :- binaryZcD(X1).
binaryZcD(one(X1)) :- binarycG(X1).
binarycG(b).
binarycG(zero(X1)) :- binaryZcD(X1).
binarycG(one(X1)) :- binarycG(X1).
addzcE(zero(X1), zero(X2), zero(X3)) :- addzcE(X1, X2, X3).
addzcE(zero(one(X1)), one(b), one(one(X1))) :- binarycG(X1).
addzcE(zero(zero(X1)), one(b), one(zero(X1))) :- binaryZcD(X1).
addzcE(zero(X1), one(X2), one(X3)) :- addzcE(X1, X2, X3).
addzcE(one(X1), zero(X2), one(X3)) :- addycF(X1, X2, X3).
addzcE(one(X1), one(X2), zero(X3)) :- addccH(X1, X2, X3).
succcI(b, one(b)).
succcI(zero(X1), one(X1)) :- binaryZcD(X1).
succcI(one(X1), zero(X2)) :- succcI(X1, X2).
succZcJ(zero(X1), one(X1)) :- binaryZcD(X1).
succZcJ(one(X1), zero(X2)) :- succcI(X1, X2).
addCcK(zero(X1), zero(X2), one(X3)) :- addzcE(X1, X2, X3).
addCcK(zero(zero(X1)), one(b), zero(one(X1))) :- binaryZcD(X1).
addCcK(zero(one(X1)), one(b), zero(zero(X2))) :- succcI(X1, X2).
addCcK(zero(X1), one(X2), zero(X3)) :- addCcK(X1, X2, X3).
addCcK(one(b), zero(zero(X1)), zero(one(X1))) :- binaryZcD(X1).
addCcK(one(b), zero(one(X1)), zero(zero(X2))) :- succcI(X1, X2).
addCcK(one(X1), zero(X2), zero(X3)) :- addCcK(X1, X2, X3).
addCcK(one(X1), one(X2), one(X3)) :- addccH(X1, X2, X3).
addccH(b, b, one(b)).
addccH(X1, b, X2) :- succZcJ(X1, X2).
addccH(b, X1, X2) :- succZcJ(X1, X2).
addccH(X1, X2, X3) :- addCcK(X1, X2, X3).
addycF(b, one(X1), one(X1)) :- binarycG(X1).
addycF(b, zero(X1), zero(X1)) :- binaryZcD(X1).
addycF(X1, X2, X3) :- addzcE(X1, X2, X3).

Afs:

timesA(x1, x2, x3)  =  timesA(x1, x2)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
timesA_in: (b,b,f)
timesC_in: (b,b,f)
timescC_in: (b,b,f)
addcB_in: (b,b,f)
binaryZcD_in: (b)
binarycG_in: (b)
addzcE_in: (b,b,f)
addycF_in: (b,b,f)
addccH_in: (b,b,f)
succZcJ_in: (b,f)
succcI_in: (b,f)
addCcK_in: (b,b,f)
addB_in: (b,b,f)
binaryZD_in: (b)
binaryG_in: (b)
addzE_in: (b,b,f)
addyF_in: (b,b,f)
addcH_in: (b,b,f)
succZJ_in: (b,f)
succI_in: (b,f)
addCK_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → U36_GGA(X1, X2, X3, timesA_in_gga(X1, X2, X3))
TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → TIMESA_IN_GGA(X1, X2, X3)
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → U37_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → U1_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X3))
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X3)
TIMESC_IN_GGA(one(X1), X2, X3) → U2_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESC_IN_GGA(one(X1), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(one(X1), X2, X3) → U3_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U3_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U4_GGA(X1, X2, X3, addB_in_gga(X2, X4, X3))
U3_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X3)
ADDB_IN_GGA(b, X1, zero(X1)) → U5_GGA(X1, binaryZD_in_g(X1))
ADDB_IN_GGA(b, X1, zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(zero(X1)) → U8_G(X1, binaryZD_in_g(X1))
BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(one(X1)) → U9_G(X1, binaryG_in_g(X1))
BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
BINARYG_IN_G(zero(X1)) → U10_G(X1, binaryZD_in_g(X1))
BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYG_IN_G(one(X1)) → U11_G(X1, binaryG_in_g(X1))
BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)
ADDB_IN_GGA(zero(X1), X2, zero(X3)) → U6_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDB_IN_GGA(zero(X1), X2, zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → U12_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(one(X1)), one(b), one(one(X1))) → U13_GGA(X1, binaryG_in_g(X1))
ADDZE_IN_GGA(zero(one(X1)), one(b), one(one(X1))) → BINARYG_IN_G(X1)
ADDZE_IN_GGA(zero(zero(X1)), one(b), one(zero(X1))) → U14_GGA(X1, binaryZD_in_g(X1))
ADDZE_IN_GGA(zero(zero(X1)), one(b), one(zero(X1))) → BINARYZD_IN_G(X1)
ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → U15_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → U16_GGA(X1, X2, X3, addyF_in_gga(X1, X2, X3))
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
ADDYF_IN_GGA(b, one(X1), one(X1)) → U33_GGA(X1, binaryG_in_g(X1))
ADDYF_IN_GGA(b, one(X1), one(X1)) → BINARYG_IN_G(X1)
ADDYF_IN_GGA(b, zero(X1), zero(X1)) → U34_GGA(X1, binaryZD_in_g(X1))
ADDYF_IN_GGA(b, zero(X1), zero(X1)) → BINARYZD_IN_G(X1)
ADDYF_IN_GGA(X1, X2, X3) → U35_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDYF_IN_GGA(X1, X2, X3) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → U17_GGA(X1, X2, X3, addcH_in_gga(X1, X2, X3))
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDCH_IN_GGA(X1, b, X2) → U30_GGA(X1, X2, succZJ_in_ga(X1, X2))
ADDCH_IN_GGA(X1, b, X2) → SUCCZJ_IN_GA(X1, X2)
SUCCZJ_IN_GA(zero(X1), one(X1)) → U20_GA(X1, binaryZD_in_g(X1))
SUCCZJ_IN_GA(zero(X1), one(X1)) → BINARYZD_IN_G(X1)
SUCCZJ_IN_GA(one(X1), zero(X2)) → U21_GA(X1, X2, succI_in_ga(X1, X2))
SUCCZJ_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)
SUCCI_IN_GA(zero(X1), one(X1)) → U18_GA(X1, binaryZD_in_g(X1))
SUCCI_IN_GA(zero(X1), one(X1)) → BINARYZD_IN_G(X1)
SUCCI_IN_GA(one(X1), zero(X2)) → U19_GA(X1, X2, succI_in_ga(X1, X2))
SUCCI_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)
ADDCH_IN_GGA(b, X1, X2) → U31_GGA(X1, X2, succZJ_in_ga(X1, X2))
ADDCH_IN_GGA(b, X1, X2) → SUCCZJ_IN_GA(X1, X2)
ADDCH_IN_GGA(X1, X2, X3) → U32_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCH_IN_GGA(X1, X2, X3) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → U22_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(zero(X1)), one(b), zero(one(X1))) → U23_GGA(X1, binaryZD_in_g(X1))
ADDCK_IN_GGA(zero(zero(X1)), one(b), zero(one(X1))) → BINARYZD_IN_G(X1)
ADDCK_IN_GGA(zero(one(X1)), one(b), zero(zero(X2))) → U24_GGA(X1, X2, succI_in_ga(X1, X2))
ADDCK_IN_GGA(zero(one(X1)), one(b), zero(zero(X2))) → SUCCI_IN_GA(X1, X2)
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → U25_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(b), zero(zero(X1)), zero(one(X1))) → U26_GGA(X1, binaryZD_in_g(X1))
ADDCK_IN_GGA(one(b), zero(zero(X1)), zero(one(X1))) → BINARYZD_IN_G(X1)
ADDCK_IN_GGA(one(b), zero(one(X1)), zero(zero(X2))) → U27_GGA(X1, X2, succI_in_ga(X1, X2))
ADDCK_IN_GGA(one(b), zero(one(X1)), zero(zero(X2))) → SUCCI_IN_GA(X1, X2)
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → U28_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → U29_GGA(X1, X2, X3, addcH_in_gga(X1, X2, X3))
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDB_IN_GGA(one(X1), X2, one(X3)) → U7_GGA(X1, X2, X3, addyF_in_gga(X1, X2, X3))
ADDB_IN_GGA(one(X1), X2, one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → U38_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U38_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U39_GGA(X1, X2, X3, addB_in_gga(X2, X4, X3))
U38_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X3)
TIMESA_IN_GGA(one(one(b)), X1, X2) → U40_GGA(X1, X2, addB_in_gga(X1, X1, X2))
TIMESA_IN_GGA(one(one(b)), X1, X2) → ADDB_IN_GGA(X1, X1, X2)
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → U41_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → U42_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U42_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U43_GGA(X1, X2, X3, addB_in_gga(X2, zero(X4), X3))
U42_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, zero(X4), X3)
TIMESA_IN_GGA(one(one(X1)), X2, X3) → U44_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(one(one(X1)), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESA_IN_GGA(one(one(X1)), X2, X3) → U45_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U46_GGA(X1, X2, X3, addB_in_gga(X2, X4, X5))
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X5)
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U47_GGA(X1, X2, X3, addcB_in_gga(X2, X4, X5))
U47_GGA(X1, X2, X3, addcB_out_gga(X2, X4, X5)) → U48_GGA(X1, X2, X3, addB_in_gga(X2, X5, X3))
U47_GGA(X1, X2, X3, addcB_out_gga(X2, X4, X5)) → ADDB_IN_GGA(X2, X5, X3)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
timesA_in_gga(x1, x2, x3)  =  timesA_in_gga(x1, x2)
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timesC_in_gga(x1, x2, x3)  =  timesC_in_gga(x1, x2)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
addB_in_gga(x1, x2, x3)  =  addB_in_gga(x1, x2)
binaryZD_in_g(x1)  =  binaryZD_in_g(x1)
binaryG_in_g(x1)  =  binaryG_in_g(x1)
addzE_in_gga(x1, x2, x3)  =  addzE_in_gga(x1, x2)
addyF_in_gga(x1, x2, x3)  =  addyF_in_gga(x1, x2)
addcH_in_gga(x1, x2, x3)  =  addcH_in_gga(x1, x2)
succZJ_in_ga(x1, x2)  =  succZJ_in_ga(x1)
succI_in_ga(x1, x2)  =  succI_in_ga(x1)
addCK_in_gga(x1, x2, x3)  =  addCK_in_gga(x1, x2)
TIMESA_IN_GGA(x1, x2, x3)  =  TIMESA_IN_GGA(x1, x2)
U36_GGA(x1, x2, x3, x4)  =  U36_GGA(x1, x2, x4)
U37_GGA(x1, x2, x3, x4)  =  U37_GGA(x1, x2, x4)
TIMESC_IN_GGA(x1, x2, x3)  =  TIMESC_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x1, x2, x4)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
ADDB_IN_GGA(x1, x2, x3)  =  ADDB_IN_GGA(x1, x2)
U5_GGA(x1, x2)  =  U5_GGA(x1, x2)
BINARYZD_IN_G(x1)  =  BINARYZD_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
U9_G(x1, x2)  =  U9_G(x1, x2)
BINARYG_IN_G(x1)  =  BINARYG_IN_G(x1)
U10_G(x1, x2)  =  U10_G(x1, x2)
U11_G(x1, x2)  =  U11_G(x1, x2)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
ADDZE_IN_GGA(x1, x2, x3)  =  ADDZE_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U13_GGA(x1, x2)  =  U13_GGA(x1, x2)
U14_GGA(x1, x2)  =  U14_GGA(x1, x2)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x2, x4)
ADDYF_IN_GGA(x1, x2, x3)  =  ADDYF_IN_GGA(x1, x2)
U33_GGA(x1, x2)  =  U33_GGA(x1, x2)
U34_GGA(x1, x2)  =  U34_GGA(x1, x2)
U35_GGA(x1, x2, x3, x4)  =  U35_GGA(x1, x2, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
ADDCH_IN_GGA(x1, x2, x3)  =  ADDCH_IN_GGA(x1, x2)
U30_GGA(x1, x2, x3)  =  U30_GGA(x1, x3)
SUCCZJ_IN_GA(x1, x2)  =  SUCCZJ_IN_GA(x1)
U20_GA(x1, x2)  =  U20_GA(x1, x2)
U21_GA(x1, x2, x3)  =  U21_GA(x1, x3)
SUCCI_IN_GA(x1, x2)  =  SUCCI_IN_GA(x1)
U18_GA(x1, x2)  =  U18_GA(x1, x2)
U19_GA(x1, x2, x3)  =  U19_GA(x1, x3)
U31_GGA(x1, x2, x3)  =  U31_GGA(x1, x3)
U32_GGA(x1, x2, x3, x4)  =  U32_GGA(x1, x2, x4)
ADDCK_IN_GGA(x1, x2, x3)  =  ADDCK_IN_GGA(x1, x2)
U22_GGA(x1, x2, x3, x4)  =  U22_GGA(x1, x2, x4)
U23_GGA(x1, x2)  =  U23_GGA(x1, x2)
U24_GGA(x1, x2, x3)  =  U24_GGA(x1, x3)
U25_GGA(x1, x2, x3, x4)  =  U25_GGA(x1, x2, x4)
U26_GGA(x1, x2)  =  U26_GGA(x1, x2)
U27_GGA(x1, x2, x3)  =  U27_GGA(x1, x3)
U28_GGA(x1, x2, x3, x4)  =  U28_GGA(x1, x2, x4)
U29_GGA(x1, x2, x3, x4)  =  U29_GGA(x1, x2, x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x2, x4)
U38_GGA(x1, x2, x3, x4)  =  U38_GGA(x1, x2, x4)
U39_GGA(x1, x2, x3, x4)  =  U39_GGA(x1, x2, x4)
U40_GGA(x1, x2, x3)  =  U40_GGA(x1, x3)
U41_GGA(x1, x2, x3, x4)  =  U41_GGA(x1, x2, x4)
U42_GGA(x1, x2, x3, x4)  =  U42_GGA(x1, x2, x4)
U43_GGA(x1, x2, x3, x4)  =  U43_GGA(x1, x2, x4)
U44_GGA(x1, x2, x3, x4)  =  U44_GGA(x1, x2, x4)
U45_GGA(x1, x2, x3, x4)  =  U45_GGA(x1, x2, x4)
U46_GGA(x1, x2, x3, x4)  =  U46_GGA(x1, x2, x4)
U47_GGA(x1, x2, x3, x4)  =  U47_GGA(x1, x2, x4)
U48_GGA(x1, x2, x3, x4)  =  U48_GGA(x1, x2, x4)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → U36_GGA(X1, X2, X3, timesA_in_gga(X1, X2, X3))
TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → TIMESA_IN_GGA(X1, X2, X3)
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → U37_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → U1_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X3))
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X3)
TIMESC_IN_GGA(one(X1), X2, X3) → U2_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESC_IN_GGA(one(X1), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(one(X1), X2, X3) → U3_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U3_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U4_GGA(X1, X2, X3, addB_in_gga(X2, X4, X3))
U3_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X3)
ADDB_IN_GGA(b, X1, zero(X1)) → U5_GGA(X1, binaryZD_in_g(X1))
ADDB_IN_GGA(b, X1, zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(zero(X1)) → U8_G(X1, binaryZD_in_g(X1))
BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(one(X1)) → U9_G(X1, binaryG_in_g(X1))
BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
BINARYG_IN_G(zero(X1)) → U10_G(X1, binaryZD_in_g(X1))
BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYG_IN_G(one(X1)) → U11_G(X1, binaryG_in_g(X1))
BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)
ADDB_IN_GGA(zero(X1), X2, zero(X3)) → U6_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDB_IN_GGA(zero(X1), X2, zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → U12_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(one(X1)), one(b), one(one(X1))) → U13_GGA(X1, binaryG_in_g(X1))
ADDZE_IN_GGA(zero(one(X1)), one(b), one(one(X1))) → BINARYG_IN_G(X1)
ADDZE_IN_GGA(zero(zero(X1)), one(b), one(zero(X1))) → U14_GGA(X1, binaryZD_in_g(X1))
ADDZE_IN_GGA(zero(zero(X1)), one(b), one(zero(X1))) → BINARYZD_IN_G(X1)
ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → U15_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → U16_GGA(X1, X2, X3, addyF_in_gga(X1, X2, X3))
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
ADDYF_IN_GGA(b, one(X1), one(X1)) → U33_GGA(X1, binaryG_in_g(X1))
ADDYF_IN_GGA(b, one(X1), one(X1)) → BINARYG_IN_G(X1)
ADDYF_IN_GGA(b, zero(X1), zero(X1)) → U34_GGA(X1, binaryZD_in_g(X1))
ADDYF_IN_GGA(b, zero(X1), zero(X1)) → BINARYZD_IN_G(X1)
ADDYF_IN_GGA(X1, X2, X3) → U35_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDYF_IN_GGA(X1, X2, X3) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → U17_GGA(X1, X2, X3, addcH_in_gga(X1, X2, X3))
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDCH_IN_GGA(X1, b, X2) → U30_GGA(X1, X2, succZJ_in_ga(X1, X2))
ADDCH_IN_GGA(X1, b, X2) → SUCCZJ_IN_GA(X1, X2)
SUCCZJ_IN_GA(zero(X1), one(X1)) → U20_GA(X1, binaryZD_in_g(X1))
SUCCZJ_IN_GA(zero(X1), one(X1)) → BINARYZD_IN_G(X1)
SUCCZJ_IN_GA(one(X1), zero(X2)) → U21_GA(X1, X2, succI_in_ga(X1, X2))
SUCCZJ_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)
SUCCI_IN_GA(zero(X1), one(X1)) → U18_GA(X1, binaryZD_in_g(X1))
SUCCI_IN_GA(zero(X1), one(X1)) → BINARYZD_IN_G(X1)
SUCCI_IN_GA(one(X1), zero(X2)) → U19_GA(X1, X2, succI_in_ga(X1, X2))
SUCCI_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)
ADDCH_IN_GGA(b, X1, X2) → U31_GGA(X1, X2, succZJ_in_ga(X1, X2))
ADDCH_IN_GGA(b, X1, X2) → SUCCZJ_IN_GA(X1, X2)
ADDCH_IN_GGA(X1, X2, X3) → U32_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCH_IN_GGA(X1, X2, X3) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → U22_GGA(X1, X2, X3, addzE_in_gga(X1, X2, X3))
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(zero(X1)), one(b), zero(one(X1))) → U23_GGA(X1, binaryZD_in_g(X1))
ADDCK_IN_GGA(zero(zero(X1)), one(b), zero(one(X1))) → BINARYZD_IN_G(X1)
ADDCK_IN_GGA(zero(one(X1)), one(b), zero(zero(X2))) → U24_GGA(X1, X2, succI_in_ga(X1, X2))
ADDCK_IN_GGA(zero(one(X1)), one(b), zero(zero(X2))) → SUCCI_IN_GA(X1, X2)
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → U25_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(b), zero(zero(X1)), zero(one(X1))) → U26_GGA(X1, binaryZD_in_g(X1))
ADDCK_IN_GGA(one(b), zero(zero(X1)), zero(one(X1))) → BINARYZD_IN_G(X1)
ADDCK_IN_GGA(one(b), zero(one(X1)), zero(zero(X2))) → U27_GGA(X1, X2, succI_in_ga(X1, X2))
ADDCK_IN_GGA(one(b), zero(one(X1)), zero(zero(X2))) → SUCCI_IN_GA(X1, X2)
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → U28_GGA(X1, X2, X3, addCK_in_gga(X1, X2, X3))
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → U29_GGA(X1, X2, X3, addcH_in_gga(X1, X2, X3))
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDB_IN_GGA(one(X1), X2, one(X3)) → U7_GGA(X1, X2, X3, addyF_in_gga(X1, X2, X3))
ADDB_IN_GGA(one(X1), X2, one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
TIMESA_IN_GGA(zero(one(X1)), X2, zero(X3)) → U38_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U38_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U39_GGA(X1, X2, X3, addB_in_gga(X2, X4, X3))
U38_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X3)
TIMESA_IN_GGA(one(one(b)), X1, X2) → U40_GGA(X1, X2, addB_in_gga(X1, X1, X2))
TIMESA_IN_GGA(one(one(b)), X1, X2) → ADDB_IN_GGA(X1, X1, X2)
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → U41_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESA_IN_GGA(one(zero(X1)), X2, X3) → U42_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U42_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U43_GGA(X1, X2, X3, addB_in_gga(X2, zero(X4), X3))
U42_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, zero(X4), X3)
TIMESA_IN_GGA(one(one(X1)), X2, X3) → U44_GGA(X1, X2, X3, timesC_in_gga(X1, X2, X4))
TIMESA_IN_GGA(one(one(X1)), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESA_IN_GGA(one(one(X1)), X2, X3) → U45_GGA(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U46_GGA(X1, X2, X3, addB_in_gga(X2, X4, X5))
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → ADDB_IN_GGA(X2, X4, X5)
U45_GGA(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U47_GGA(X1, X2, X3, addcB_in_gga(X2, X4, X5))
U47_GGA(X1, X2, X3, addcB_out_gga(X2, X4, X5)) → U48_GGA(X1, X2, X3, addB_in_gga(X2, X5, X3))
U47_GGA(X1, X2, X3, addcB_out_gga(X2, X4, X5)) → ADDB_IN_GGA(X2, X5, X3)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
timesA_in_gga(x1, x2, x3)  =  timesA_in_gga(x1, x2)
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timesC_in_gga(x1, x2, x3)  =  timesC_in_gga(x1, x2)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
addB_in_gga(x1, x2, x3)  =  addB_in_gga(x1, x2)
binaryZD_in_g(x1)  =  binaryZD_in_g(x1)
binaryG_in_g(x1)  =  binaryG_in_g(x1)
addzE_in_gga(x1, x2, x3)  =  addzE_in_gga(x1, x2)
addyF_in_gga(x1, x2, x3)  =  addyF_in_gga(x1, x2)
addcH_in_gga(x1, x2, x3)  =  addcH_in_gga(x1, x2)
succZJ_in_ga(x1, x2)  =  succZJ_in_ga(x1)
succI_in_ga(x1, x2)  =  succI_in_ga(x1)
addCK_in_gga(x1, x2, x3)  =  addCK_in_gga(x1, x2)
TIMESA_IN_GGA(x1, x2, x3)  =  TIMESA_IN_GGA(x1, x2)
U36_GGA(x1, x2, x3, x4)  =  U36_GGA(x1, x2, x4)
U37_GGA(x1, x2, x3, x4)  =  U37_GGA(x1, x2, x4)
TIMESC_IN_GGA(x1, x2, x3)  =  TIMESC_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x1, x2, x4)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
ADDB_IN_GGA(x1, x2, x3)  =  ADDB_IN_GGA(x1, x2)
U5_GGA(x1, x2)  =  U5_GGA(x1, x2)
BINARYZD_IN_G(x1)  =  BINARYZD_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
U9_G(x1, x2)  =  U9_G(x1, x2)
BINARYG_IN_G(x1)  =  BINARYG_IN_G(x1)
U10_G(x1, x2)  =  U10_G(x1, x2)
U11_G(x1, x2)  =  U11_G(x1, x2)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
ADDZE_IN_GGA(x1, x2, x3)  =  ADDZE_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U13_GGA(x1, x2)  =  U13_GGA(x1, x2)
U14_GGA(x1, x2)  =  U14_GGA(x1, x2)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x2, x4)
ADDYF_IN_GGA(x1, x2, x3)  =  ADDYF_IN_GGA(x1, x2)
U33_GGA(x1, x2)  =  U33_GGA(x1, x2)
U34_GGA(x1, x2)  =  U34_GGA(x1, x2)
U35_GGA(x1, x2, x3, x4)  =  U35_GGA(x1, x2, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
ADDCH_IN_GGA(x1, x2, x3)  =  ADDCH_IN_GGA(x1, x2)
U30_GGA(x1, x2, x3)  =  U30_GGA(x1, x3)
SUCCZJ_IN_GA(x1, x2)  =  SUCCZJ_IN_GA(x1)
U20_GA(x1, x2)  =  U20_GA(x1, x2)
U21_GA(x1, x2, x3)  =  U21_GA(x1, x3)
SUCCI_IN_GA(x1, x2)  =  SUCCI_IN_GA(x1)
U18_GA(x1, x2)  =  U18_GA(x1, x2)
U19_GA(x1, x2, x3)  =  U19_GA(x1, x3)
U31_GGA(x1, x2, x3)  =  U31_GGA(x1, x3)
U32_GGA(x1, x2, x3, x4)  =  U32_GGA(x1, x2, x4)
ADDCK_IN_GGA(x1, x2, x3)  =  ADDCK_IN_GGA(x1, x2)
U22_GGA(x1, x2, x3, x4)  =  U22_GGA(x1, x2, x4)
U23_GGA(x1, x2)  =  U23_GGA(x1, x2)
U24_GGA(x1, x2, x3)  =  U24_GGA(x1, x3)
U25_GGA(x1, x2, x3, x4)  =  U25_GGA(x1, x2, x4)
U26_GGA(x1, x2)  =  U26_GGA(x1, x2)
U27_GGA(x1, x2, x3)  =  U27_GGA(x1, x3)
U28_GGA(x1, x2, x3, x4)  =  U28_GGA(x1, x2, x4)
U29_GGA(x1, x2, x3, x4)  =  U29_GGA(x1, x2, x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x2, x4)
U38_GGA(x1, x2, x3, x4)  =  U38_GGA(x1, x2, x4)
U39_GGA(x1, x2, x3, x4)  =  U39_GGA(x1, x2, x4)
U40_GGA(x1, x2, x3)  =  U40_GGA(x1, x3)
U41_GGA(x1, x2, x3, x4)  =  U41_GGA(x1, x2, x4)
U42_GGA(x1, x2, x3, x4)  =  U42_GGA(x1, x2, x4)
U43_GGA(x1, x2, x3, x4)  =  U43_GGA(x1, x2, x4)
U44_GGA(x1, x2, x3, x4)  =  U44_GGA(x1, x2, x4)
U45_GGA(x1, x2, x3, x4)  =  U45_GGA(x1, x2, x4)
U46_GGA(x1, x2, x3, x4)  =  U46_GGA(x1, x2, x4)
U47_GGA(x1, x2, x3, x4)  =  U47_GGA(x1, x2, x4)
U48_GGA(x1, x2, x3, x4)  =  U48_GGA(x1, x2, x4)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 73 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
BINARYZD_IN_G(x1)  =  BINARYZD_IN_G(x1)
BINARYG_IN_G(x1)  =  BINARYG_IN_G(x1)

We have to consider all (P,R,Pi)-chains

(8) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(10) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • BINARYG_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
    The graph contains the following edges 1 > 1

  • BINARYG_IN_G(one(X1)) → BINARYG_IN_G(X1)
    The graph contains the following edges 1 > 1

  • BINARYZD_IN_G(zero(X1)) → BINARYZD_IN_G(X1)
    The graph contains the following edges 1 > 1

  • BINARYZD_IN_G(one(X1)) → BINARYG_IN_G(X1)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCI_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
SUCCI_IN_GA(x1, x2)  =  SUCCI_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(15) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCI_IN_GA(one(X1), zero(X2)) → SUCCI_IN_GA(X1, X2)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
SUCCI_IN_GA(x1, x2)  =  SUCCI_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(17) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUCCI_IN_GA(one(X1)) → SUCCI_IN_GA(X1)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(19) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUCCI_IN_GA(one(X1)) → SUCCI_IN_GA(X1)
    The graph contains the following edges 1 > 1

(20) YES

(21) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
ADDYF_IN_GGA(X1, X2, X3) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDCH_IN_GGA(X1, X2, X3) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → ADDCH_IN_GGA(X1, X2, X3)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
ADDZE_IN_GGA(x1, x2, x3)  =  ADDZE_IN_GGA(x1, x2)
ADDYF_IN_GGA(x1, x2, x3)  =  ADDYF_IN_GGA(x1, x2)
ADDCH_IN_GGA(x1, x2, x3)  =  ADDCH_IN_GGA(x1, x2)
ADDCK_IN_GGA(x1, x2, x3)  =  ADDCK_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(22) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDZE_IN_GGA(zero(X1), one(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(zero(X1), zero(X2), zero(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), zero(X2), one(X3)) → ADDYF_IN_GGA(X1, X2, X3)
ADDYF_IN_GGA(X1, X2, X3) → ADDZE_IN_GGA(X1, X2, X3)
ADDZE_IN_GGA(one(X1), one(X2), zero(X3)) → ADDCH_IN_GGA(X1, X2, X3)
ADDCH_IN_GGA(X1, X2, X3) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), zero(X2), one(X3)) → ADDZE_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(zero(X1), one(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), zero(X2), zero(X3)) → ADDCK_IN_GGA(X1, X2, X3)
ADDCK_IN_GGA(one(X1), one(X2), one(X3)) → ADDCH_IN_GGA(X1, X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
ADDZE_IN_GGA(x1, x2, x3)  =  ADDZE_IN_GGA(x1, x2)
ADDYF_IN_GGA(x1, x2, x3)  =  ADDYF_IN_GGA(x1, x2)
ADDCH_IN_GGA(x1, x2, x3)  =  ADDCH_IN_GGA(x1, x2)
ADDCK_IN_GGA(x1, x2, x3)  =  ADDCK_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(24) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ADDZE_IN_GGA(zero(X1), one(X2)) → ADDZE_IN_GGA(X1, X2)
ADDZE_IN_GGA(zero(X1), zero(X2)) → ADDZE_IN_GGA(X1, X2)
ADDZE_IN_GGA(one(X1), zero(X2)) → ADDYF_IN_GGA(X1, X2)
ADDYF_IN_GGA(X1, X2) → ADDZE_IN_GGA(X1, X2)
ADDZE_IN_GGA(one(X1), one(X2)) → ADDCH_IN_GGA(X1, X2)
ADDCH_IN_GGA(X1, X2) → ADDCK_IN_GGA(X1, X2)
ADDCK_IN_GGA(zero(X1), zero(X2)) → ADDZE_IN_GGA(X1, X2)
ADDCK_IN_GGA(zero(X1), one(X2)) → ADDCK_IN_GGA(X1, X2)
ADDCK_IN_GGA(one(X1), zero(X2)) → ADDCK_IN_GGA(X1, X2)
ADDCK_IN_GGA(one(X1), one(X2)) → ADDCH_IN_GGA(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(26) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ADDYF_IN_GGA(X1, X2) → ADDZE_IN_GGA(X1, X2)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • ADDCK_IN_GGA(zero(X1), zero(X2)) → ADDZE_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDZE_IN_GGA(one(X1), zero(X2)) → ADDYF_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDZE_IN_GGA(one(X1), one(X2)) → ADDCH_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDCH_IN_GGA(X1, X2) → ADDCK_IN_GGA(X1, X2)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • ADDCK_IN_GGA(one(X1), one(X2)) → ADDCH_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDZE_IN_GGA(zero(X1), one(X2)) → ADDZE_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDZE_IN_GGA(zero(X1), zero(X2)) → ADDZE_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDCK_IN_GGA(zero(X1), one(X2)) → ADDCK_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

  • ADDCK_IN_GGA(one(X1), zero(X2)) → ADDCK_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

(27) YES

(28) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TIMESC_IN_GGA(one(X1), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X3)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
TIMESC_IN_GGA(x1, x2, x3)  =  TIMESC_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(29) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TIMESC_IN_GGA(one(X1), X2, X3) → TIMESC_IN_GGA(X1, X2, X4)
TIMESC_IN_GGA(zero(X1), X2, zero(X3)) → TIMESC_IN_GGA(X1, X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
TIMESC_IN_GGA(x1, x2, x3)  =  TIMESC_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(31) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(32) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TIMESC_IN_GGA(one(X1), X2) → TIMESC_IN_GGA(X1, X2)
TIMESC_IN_GGA(zero(X1), X2) → TIMESC_IN_GGA(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(33) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TIMESC_IN_GGA(one(X1), X2) → TIMESC_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 >= 2

  • TIMESC_IN_GGA(zero(X1), X2) → TIMESC_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 >= 2

(34) YES

(35) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → TIMESA_IN_GGA(X1, X2, X3)

The TRS R consists of the following rules:

timescC_in_gga(one(b), X1, X1) → timescC_out_gga(one(b), X1, X1)
timescC_in_gga(zero(X1), X2, zero(X3)) → U59_gga(X1, X2, X3, timescC_in_gga(X1, X2, X3))
timescC_in_gga(one(X1), X2, X3) → U60_gga(X1, X2, X3, timescC_in_gga(X1, X2, X4))
U60_gga(X1, X2, X3, timescC_out_gga(X1, X2, X4)) → U61_gga(X1, X2, X3, addcB_in_gga(X2, X4, X3))
addcB_in_gga(b, X1, zero(X1)) → U62_gga(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(zero(X1)) → U65_g(X1, binaryZcD_in_g(X1))
binaryZcD_in_g(one(X1)) → U66_g(X1, binarycG_in_g(X1))
binarycG_in_g(b) → binarycG_out_g(b)
binarycG_in_g(zero(X1)) → U67_g(X1, binaryZcD_in_g(X1))
U67_g(X1, binaryZcD_out_g(X1)) → binarycG_out_g(zero(X1))
binarycG_in_g(one(X1)) → U68_g(X1, binarycG_in_g(X1))
U68_g(X1, binarycG_out_g(X1)) → binarycG_out_g(one(X1))
U66_g(X1, binarycG_out_g(X1)) → binaryZcD_out_g(one(X1))
U65_g(X1, binaryZcD_out_g(X1)) → binaryZcD_out_g(zero(X1))
U62_gga(X1, binaryZcD_out_g(X1)) → addcB_out_gga(b, X1, zero(X1))
addcB_in_gga(zero(X1), X2, zero(X3)) → U63_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(X1), zero(X2), zero(X3)) → U69_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(zero(one(X1)), one(b), one(one(X1))) → U70_gga(X1, binarycG_in_g(X1))
U70_gga(X1, binarycG_out_g(X1)) → addzcE_out_gga(zero(one(X1)), one(b), one(one(X1)))
addzcE_in_gga(zero(zero(X1)), one(b), one(zero(X1))) → U71_gga(X1, binaryZcD_in_g(X1))
U71_gga(X1, binaryZcD_out_g(X1)) → addzcE_out_gga(zero(zero(X1)), one(b), one(zero(X1)))
addzcE_in_gga(zero(X1), one(X2), one(X3)) → U72_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), zero(X2), one(X3)) → U73_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
addycF_in_gga(b, one(X1), one(X1)) → U90_gga(X1, binarycG_in_g(X1))
U90_gga(X1, binarycG_out_g(X1)) → addycF_out_gga(b, one(X1), one(X1))
addycF_in_gga(b, zero(X1), zero(X1)) → U91_gga(X1, binaryZcD_in_g(X1))
U91_gga(X1, binaryZcD_out_g(X1)) → addycF_out_gga(b, zero(X1), zero(X1))
addycF_in_gga(X1, X2, X3) → U92_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
addzcE_in_gga(one(X1), one(X2), zero(X3)) → U74_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
addccH_in_gga(b, b, one(b)) → addccH_out_gga(b, b, one(b))
addccH_in_gga(X1, b, X2) → U87_gga(X1, X2, succZcJ_in_ga(X1, X2))
succZcJ_in_ga(zero(X1), one(X1)) → U77_ga(X1, binaryZcD_in_g(X1))
U77_ga(X1, binaryZcD_out_g(X1)) → succZcJ_out_ga(zero(X1), one(X1))
succZcJ_in_ga(one(X1), zero(X2)) → U78_ga(X1, X2, succcI_in_ga(X1, X2))
succcI_in_ga(b, one(b)) → succcI_out_ga(b, one(b))
succcI_in_ga(zero(X1), one(X1)) → U75_ga(X1, binaryZcD_in_g(X1))
U75_ga(X1, binaryZcD_out_g(X1)) → succcI_out_ga(zero(X1), one(X1))
succcI_in_ga(one(X1), zero(X2)) → U76_ga(X1, X2, succcI_in_ga(X1, X2))
U76_ga(X1, X2, succcI_out_ga(X1, X2)) → succcI_out_ga(one(X1), zero(X2))
U78_ga(X1, X2, succcI_out_ga(X1, X2)) → succZcJ_out_ga(one(X1), zero(X2))
U87_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(X1, b, X2)
addccH_in_gga(b, X1, X2) → U88_gga(X1, X2, succZcJ_in_ga(X1, X2))
U88_gga(X1, X2, succZcJ_out_ga(X1, X2)) → addccH_out_gga(b, X1, X2)
addccH_in_gga(X1, X2, X3) → U89_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(zero(X1), zero(X2), one(X3)) → U79_gga(X1, X2, X3, addzcE_in_gga(X1, X2, X3))
U79_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), zero(X2), one(X3))
addCcK_in_gga(zero(zero(X1)), one(b), zero(one(X1))) → U80_gga(X1, binaryZcD_in_g(X1))
U80_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(zero(zero(X1)), one(b), zero(one(X1)))
addCcK_in_gga(zero(one(X1)), one(b), zero(zero(X2))) → U81_gga(X1, X2, succcI_in_ga(X1, X2))
U81_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(zero(one(X1)), one(b), zero(zero(X2)))
addCcK_in_gga(zero(X1), one(X2), zero(X3)) → U82_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(b), zero(zero(X1)), zero(one(X1))) → U83_gga(X1, binaryZcD_in_g(X1))
U83_gga(X1, binaryZcD_out_g(X1)) → addCcK_out_gga(one(b), zero(zero(X1)), zero(one(X1)))
addCcK_in_gga(one(b), zero(one(X1)), zero(zero(X2))) → U84_gga(X1, X2, succcI_in_ga(X1, X2))
U84_gga(X1, X2, succcI_out_ga(X1, X2)) → addCcK_out_gga(one(b), zero(one(X1)), zero(zero(X2)))
addCcK_in_gga(one(X1), zero(X2), zero(X3)) → U85_gga(X1, X2, X3, addCcK_in_gga(X1, X2, X3))
addCcK_in_gga(one(X1), one(X2), one(X3)) → U86_gga(X1, X2, X3, addccH_in_gga(X1, X2, X3))
U86_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), one(X2), one(X3))
U85_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(one(X1), zero(X2), zero(X3))
U82_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addCcK_out_gga(zero(X1), one(X2), zero(X3))
U89_gga(X1, X2, X3, addCcK_out_gga(X1, X2, X3)) → addccH_out_gga(X1, X2, X3)
U74_gga(X1, X2, X3, addccH_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), one(X2), zero(X3))
U92_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addycF_out_gga(X1, X2, X3)
U73_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addzcE_out_gga(one(X1), zero(X2), one(X3))
U72_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), one(X2), one(X3))
U69_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addzcE_out_gga(zero(X1), zero(X2), zero(X3))
U63_gga(X1, X2, X3, addzcE_out_gga(X1, X2, X3)) → addcB_out_gga(zero(X1), X2, zero(X3))
addcB_in_gga(one(X1), X2, one(X3)) → U64_gga(X1, X2, X3, addycF_in_gga(X1, X2, X3))
U64_gga(X1, X2, X3, addycF_out_gga(X1, X2, X3)) → addcB_out_gga(one(X1), X2, one(X3))
U61_gga(X1, X2, X3, addcB_out_gga(X2, X4, X3)) → timescC_out_gga(one(X1), X2, X3)
U59_gga(X1, X2, X3, timescC_out_gga(X1, X2, X3)) → timescC_out_gga(zero(X1), X2, zero(X3))

The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
timescC_in_gga(x1, x2, x3)  =  timescC_in_gga(x1, x2)
b  =  b
timescC_out_gga(x1, x2, x3)  =  timescC_out_gga(x1, x2, x3)
U59_gga(x1, x2, x3, x4)  =  U59_gga(x1, x2, x4)
U60_gga(x1, x2, x3, x4)  =  U60_gga(x1, x2, x4)
U61_gga(x1, x2, x3, x4)  =  U61_gga(x1, x2, x4)
addcB_in_gga(x1, x2, x3)  =  addcB_in_gga(x1, x2)
U62_gga(x1, x2)  =  U62_gga(x1, x2)
binaryZcD_in_g(x1)  =  binaryZcD_in_g(x1)
U65_g(x1, x2)  =  U65_g(x1, x2)
U66_g(x1, x2)  =  U66_g(x1, x2)
binarycG_in_g(x1)  =  binarycG_in_g(x1)
binarycG_out_g(x1)  =  binarycG_out_g(x1)
U67_g(x1, x2)  =  U67_g(x1, x2)
binaryZcD_out_g(x1)  =  binaryZcD_out_g(x1)
U68_g(x1, x2)  =  U68_g(x1, x2)
addcB_out_gga(x1, x2, x3)  =  addcB_out_gga(x1, x2, x3)
U63_gga(x1, x2, x3, x4)  =  U63_gga(x1, x2, x4)
addzcE_in_gga(x1, x2, x3)  =  addzcE_in_gga(x1, x2)
U69_gga(x1, x2, x3, x4)  =  U69_gga(x1, x2, x4)
U70_gga(x1, x2)  =  U70_gga(x1, x2)
addzcE_out_gga(x1, x2, x3)  =  addzcE_out_gga(x1, x2, x3)
U71_gga(x1, x2)  =  U71_gga(x1, x2)
U72_gga(x1, x2, x3, x4)  =  U72_gga(x1, x2, x4)
U73_gga(x1, x2, x3, x4)  =  U73_gga(x1, x2, x4)
addycF_in_gga(x1, x2, x3)  =  addycF_in_gga(x1, x2)
U90_gga(x1, x2)  =  U90_gga(x1, x2)
addycF_out_gga(x1, x2, x3)  =  addycF_out_gga(x1, x2, x3)
U91_gga(x1, x2)  =  U91_gga(x1, x2)
U92_gga(x1, x2, x3, x4)  =  U92_gga(x1, x2, x4)
U74_gga(x1, x2, x3, x4)  =  U74_gga(x1, x2, x4)
addccH_in_gga(x1, x2, x3)  =  addccH_in_gga(x1, x2)
addccH_out_gga(x1, x2, x3)  =  addccH_out_gga(x1, x2, x3)
U87_gga(x1, x2, x3)  =  U87_gga(x1, x3)
succZcJ_in_ga(x1, x2)  =  succZcJ_in_ga(x1)
U77_ga(x1, x2)  =  U77_ga(x1, x2)
succZcJ_out_ga(x1, x2)  =  succZcJ_out_ga(x1, x2)
U78_ga(x1, x2, x3)  =  U78_ga(x1, x3)
succcI_in_ga(x1, x2)  =  succcI_in_ga(x1)
succcI_out_ga(x1, x2)  =  succcI_out_ga(x1, x2)
U75_ga(x1, x2)  =  U75_ga(x1, x2)
U76_ga(x1, x2, x3)  =  U76_ga(x1, x3)
U88_gga(x1, x2, x3)  =  U88_gga(x1, x3)
U89_gga(x1, x2, x3, x4)  =  U89_gga(x1, x2, x4)
addCcK_in_gga(x1, x2, x3)  =  addCcK_in_gga(x1, x2)
U79_gga(x1, x2, x3, x4)  =  U79_gga(x1, x2, x4)
addCcK_out_gga(x1, x2, x3)  =  addCcK_out_gga(x1, x2, x3)
U80_gga(x1, x2)  =  U80_gga(x1, x2)
U81_gga(x1, x2, x3)  =  U81_gga(x1, x3)
U82_gga(x1, x2, x3, x4)  =  U82_gga(x1, x2, x4)
U83_gga(x1, x2)  =  U83_gga(x1, x2)
U84_gga(x1, x2, x3)  =  U84_gga(x1, x3)
U85_gga(x1, x2, x3, x4)  =  U85_gga(x1, x2, x4)
U86_gga(x1, x2, x3, x4)  =  U86_gga(x1, x2, x4)
U64_gga(x1, x2, x3, x4)  =  U64_gga(x1, x2, x4)
TIMESA_IN_GGA(x1, x2, x3)  =  TIMESA_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(36) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(37) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TIMESA_IN_GGA(zero(zero(X1)), X2, zero(zero(X3))) → TIMESA_IN_GGA(X1, X2, X3)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
TIMESA_IN_GGA(x1, x2, x3)  =  TIMESA_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(38) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(39) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TIMESA_IN_GGA(zero(zero(X1)), X2) → TIMESA_IN_GGA(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(40) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TIMESA_IN_GGA(zero(zero(X1)), X2) → TIMESA_IN_GGA(X1, X2)
    The graph contains the following edges 1 > 1, 2 >= 2

(41) YES